In recent years, more and more mobile applications utilize the location of a user for various functions. Many of these mobile applications make use of the Global Positioning System (GPS). GPS is technology based on satellite signals and a GPS receiver in the mobile station. When a mobile station can directly locate and receive the satellite signals, there may be no need for the mobile station to request network assistance. When the GPS satellites are not visible to the mobile station, the mobile station can request and use the wireless network to provide the location of satellites or to calculate the actual location of the mobile station. Network assistance is needed if the mobile station is located in conditions where there is no visibility to the satellites (e.g., indoors or in a city with tall buildings that obstruct access to the sky). Network assistance may also be provided to help speed the processing to acquire satellite signals and/or to process satellite signal measurements from the GPS receiver to obtain the initial position fix when the mobile station requires a series of position fixes to continuously track its location. The mobile station makes assistance requests on behalf of applications that are running on the mobile station. If an application requests location that results in assistance by the wireless network, the application is known as an Assisted Global Positioning System (AGPS) application.
There are strict requirements on AGPS applications for user permissions and privacy. If a particular application meets those requirements and the wireless carrier authorizes the application to use AGPS network service, then the application receives credentials for AGPS. AGPS credentials consist of an Application identifier (ID) and Password. Before allowing use of AGPS, the application must send credentials from the application server to the network server that provides the location assistance. The network server that provides assistance is known as the SUPL Server. The SUPL Server maintains a database of all valid applications and verifies the validity of the credentials by lookup of the status of the credentials in the database. If it is determined that the application is no longer allowed to use AGPS, the application's AGPS credentials are revoked by changing the status of the credentials in the database. The next time the application attempts to use AGPS, the SUPL Server will reject the request until the credentials are restored.
Various protocol modules for AGPS authorization are based on proprietary technology. Implementation of these protocols is costly and time consuming resulting in limited mobile station support and adaption of AGPS services of various carriers. Many mobile station and application developers refuse to implement specific AGPS for various carriers because it requires development from scratch with no reuse on other carriers' wireless networks.
Hence a need exists for an improved AGPS Application Authorization process and an improved AGPS Application Authorization Protocol (AAAP).